package com.hs.room.repository.service

import com.hs.room.model.archive.DevCabinet
import com.hs.room.model.archive.DevReader
import kotlinx.coroutines.flow.Flow

/**
 * 档案字典仓库 类型、级别、状态
 */
interface IDevRepository {


    /***
     * 插入数据库
     */
    suspend fun insert(d: DevCabinet)

    /***
     * 插入数据库
     */
    suspend fun insert(d: DevReader)

    /***
     * 插入数据库
     */
    suspend fun update(d: DevCabinet)

    /***
     * 插入数据库
     */
    suspend fun update(d: DevReader)

    /**
     * 查询所有信息
     */
    suspend fun getDevCabinet(limit: Int, offset: Int): Flow<List<DevCabinet>>


    /**
     * 查询所有信息
     */
    suspend  fun getDevCabinet():Flow<List<DevCabinet>>

    /**
     * 查询所有信息
     */
    fun getDevCabinetBoardId(): List<Int>

    /**
     * 查询所有信息
     */
    suspend fun getLamp(): Flow<List<DevCabinet>>

    /**
     * 查询所有信息
     */
    suspend fun getDevReader(limit: Int, offset: Int): Flow<List<DevReader>>


    /**
     * 查询所有信息
     */
    fun countDevCabinet(): Int

    /**
     * 查询所有信息
     */
    fun countDevReader(): Int

    suspend fun delete(d: DevCabinet)

    suspend fun delete(d: DevReader)

    suspend fun getDevReaderName(): Flow<List<String>>

    suspend fun getDevCabinetName(): Flow<List<String>>

    suspend fun getDevReaderID(): Flow<List<Int>>

}